package com.lgit.model3.hw04;

import java.util.ArrayList;
import java.util.List;

public class StudentDao {

    private List<Student> list;
    // 初始化学生信息
    public StudentDao() {
        list = new ArrayList<>();
        list.add(new Student(1001, "刘备", 45));
        list.add(new Student(1002, "关羽", 40));
        list.add(new Student(1003, "张飞", 35));
    }
    // 判断学号是否重复，如果重复则不能添加
    public int chargeStu(int id) {
        int index = -1;
        for (int i = 0; i < list.size(); i++) {
            if (id == list.get(i).getId()) {
                index = i;
                break;
            }
        }
        return index;
    }
    // 添加学生信息
    public int addStu(Student stu) {
        int status = 0;
        if (chargeStu(stu.getId()) == -1) { // 说明录入的学号不存在，可以录入学生信息
            list.add(stu);
            status = 1;
        }
        return status;
    }
    // 删除学生信息
    public int removeStu(int id) { // 根据学号删除学生信息
        int status = 0;
        int index = chargeStu(id); // 判断学号是否存在，如果存在则执行删除操作
        if (-1 != index) {
            list.remove(index);
            status = 1;
        }
        return status;
    }
    // 修改学生信息
    public int updateStu (int id, String name) { // 根据学号修改姓名
        int status = 0;
        int index = chargeStu(id);
        if (-1 != index) {
            Student stu = list.get(index); // 根据学号得到下标，根据下标获取学生信息
            stu.setName(name);
            status = 1;
        }
        return status;
    }
    // 查询学生信息
    public void show() { // 遍历集合
        for (Student stu : list) {
            System.out.println(stu);
        }
    }
}
